High efficiency video coding (HEVC) is a new-generation international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). The standard is based on the conventional hybrid coding approach. According to HEVC, a picture is divided into multiple non-overlapped largest coding units (LCUs), also called coding tree blocks (CTBs). The pixel values of a coding unit (CU) are predicted spatially or temporally. The resulting residual signal is transformed for further redundancy removal. The transform coefficients are then quantized and entropy coded. The reconstructed picture is recovered from the decoded residual signal and the prediction signal. After reconstruction, the reconstructed picture is further processed by in-loop filtering to reduce coding artifacts. FIG. 1A-FIG. 1B illustrate exemplary system block diagrams for a HEVC-based encoder and decoder respectively.
FIG. 1A illustrates an exemplary adaptive Inter/Intra video coding system incorporating in-loop processing. For inter-prediction, Motion Estimation (ME)/Motion Compensation (MC) 112 is used to provide prediction data based on video data from other picture or pictures. Switch 114 selects Intra Prediction 110 or inter-prediction data and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues. The prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120. The transformed and quantized residues are then coded by Entropy Encoder 122 to form a video bitstream corresponding to the compressed video data. The bitstream associated with the residues is then packed with side information such as motion, mode, and other information associated with the image area. The side information may also be subject to entropy coding to reduce required bandwidth. Accordingly, the data associated with the side information are provided to Entropy Encoder 122 as shown in FIG. 1A. In the Intra mode, a reconstructed block may be used to form Intra prediction of spatial neighboring block. Therefore, a reconstructed block from REC 128 may be provided to Intra Prediction 110. When an inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transform (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data. The reconstructed video data can be stored in Reference Picture Buffer 134 and used for prediction of other frames.
As shown in FIG. 1A, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processing. Accordingly, various in-loop processing is applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality. In the High Efficiency Video Coding (HEVC) standard, deblocking (DF) processing module 130, Sample Adaptive Offset (SAO) processing module 131 have been developed to enhance picture quality. The in-loop filter information may have to be incorporated in the bitstream so that a decoder can properly recover the required information. Therefore, in-loop filter information from SAO is provided to Entropy Encoder 122 for incorporation into the bitstream. In FIG. 1A, DF 130 is applied to the reconstructed video first and SAO 131 is then applied to DF-processed video (i.e., deblocked video).
A corresponding decoder for the encoder in FIG. 1A is shown in FIG. 1B. The video bitstream is decoded by Entropy Decoder 142 to recover the transformed and quantized residues, SAO information and other system information. At the decoder side, only Motion Compensation (MC) 113 is performed instead of ME/MC. The decoding process is similar to the reconstruction loop at the encoder side. Switch 144 selects Intra-prediction 110 or motion-compensated prediction 113. SAO information and other system information are used to reconstruct the video data. The reconstructed video is further processed by DF 130 and SAO 131 to produce the final enhanced decoded video.
The current HEVC standard (i.e., version 1) only supports the picture sampling formats 4:0:0 and 4:2:0 with a pixel depth equal to 8 bits or 10 bits for each color component. However, JCT-VC is undertaking the efforts to develop the range extension to the HEVC standard for fast emerging video coding applications at a high fidelity level such as UHDTV (Ultra-High Definition TV). The extended HEVC standard is expected to be able to support YUV4:2:2, YUV4:4:4 and RGB4:4:4 picture formats.
The current HEVC coding system, as defined in the HEVC version 1, supports a lossless video coding mode so as to fully recover the coded source video. It is accomplished by skipping the coding steps that may introduce error or distortion such as the transform/inverse transform and quantization/inverse quantization as shown in the coding system of FIG. 1A-FIG. 1B. Further, in the case of lossless coding, the use of deblock filtering, sample-adaptive offset (SAO) processing and sign hiding operations may also introduce distortion to the reconstructed video. This lossless coding mode can be applied to individual coding units (CUs) as signaled by a coded syntax cu_transquant_bypass_flag for each CU. The lossless mode is enabled by a higher level syntax flag transquant_bypass_enabled_flag in the picture parameter set (PPS) to indicate whether the lossless mode (named transquant bypass mode) is allowed for the corresponding picture. When this picture level flag indicates that the transquant bypass mode (i.e., lossless mode) is enabled, an encoder may determine whether to code each CU using the lossless mode by signaling the flag, cu_transquant_bypass_flag for each CU. However, this signaling scheme cannot clearly and efficiently indicate that an entire slice or picture is coded in a lossless mode, which is the common scenario for lossless video coding applications.